package com.example.demo.service;

import com.example.demo.entity.Messages;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
* @author 86187
* @description 针对表【messages(聊天消息表)】的数据库操作Service
* @createDate 2025-06-19 10:03:28
*/
public interface MessagesService extends IService<Messages> {

    /**
     * 获取聊天记录
     * @param authorization token
     * @param receiverId 接收者ID
     * @param isGroup 是否为群聊
     * @return 聊天记录列表
     */
    List<Messages> getMessage(String authorization, String receiverId, String isGroup);

    /**
     * 发送消息
     * @param authorization token
     * @param messages 消息对象
     * @return 发送结果
     */
    String sendMessage(String authorization, Messages messages);
    
    /**
     * 获取未读消息数量
     * @param authorization token
     * @return 未读消息数量Map，key为发送者ID，value为未读消息数量
     */
    Map<String, Integer> getUnreadMessageCount(String authorization);
    
    /**
     * 将消息标记为已读
     * @param authorization token
     * @param senderId 发送者ID
     * @return 操作结果
     */
    String markMessagesAsRead(String authorization, String senderId);
}
